1. Field of the Invention
The invention relates to storage devices or subsystems within a storage virtualization environment. More particularly, the invention relates to the use of battery power backup within a storage virtualization environment.
2. Description of the Related Art
Storage virtualization environments typically involve logical space (e.g., a storage subsystem) within a physical (disk) storage system. In a typical storage virtualization environment, there are multiple virtual machines (VMs) providing separate but dependent storage functions within a disk array controller or storage controller, such as a RAID (redundant array of inexpensive disks) controller.
In many hardware platforms that provide a storage virtualization environment, the power budgets while running on battery power are relatively tight. In the event of AC power loss to the storage device, the contents of cache memory, which contains the user data (also known as dirty data), needs to be offloaded to designated backup devices, e.g., flash memory devices, within a stipulated period of time beyond which the data storage system can not be powered up on battery power. Given the relatively limited battery holdup time, it is important not only to optimize the data throughput to the backup devices but also to ensure that the time required to perform the necessary functions to put the system in backup mode is within the stipulated limits. The time required to perform these functions is known as the power loss to backup IO (input/output) start time.
Conventional methods exist that provide for fault containment in systems where memory is shared by multiple virtual machines in a virtualization environment. Such fault containment can be provided by using a hypervisor that configures virtual machines in the virtualization environment each to have exclusive write access, via a remote direct memory access (RDMA) CONTROLLER, to a separate portion of a non-volatile solid-state memory (NVSSM) subsystem, such as flash memory and battery-backed DRAM (dynamic random access memory).
Also, conventional methods exist that share storage access among virtual machines within a virtualization environment having a plurality of virtual machines and a storage subsystem. In such method, a first virtual machine is configured to manage access to the storage subsystem and a second virtual machine issues IO requests to the first virtual machine so that the second virtual machine does not have to manage access to the storage subsystem.